package org.example.studentsystem_back.service;

import jakarta.servlet.http.HttpServletRequest;
import org.example.studentsystem_back.common.CommonResponse;
import org.example.studentsystem_back.domain.Students;
import org.example.studentsystem_back.domain.Users;
import com.baomidou.mybatisplus.extension.service.IService;
import org.example.studentsystem_back.dto.PageDTO;
import org.example.studentsystem_back.vo.dataCenterVo.StudentDataCenterVo.StudentDataCenterVo;
import org.example.studentsystem_back.vo.dataCenterVo.UserDataCenterVo.UserDataCenterVo;
import org.example.studentsystem_back.vo.dataCenterVo.UserDataCenterVo.UserRoleProVo;
import org.example.studentsystem_back.vo.userMangeVo.UserLoginVo;
import org.example.studentsystem_back.vo.userMangeVo.UserStudentVo;
import org.example.studentsystem_back.vo.userMangeVo.UserVo;
import org.example.studentsystem_back.vo.userManageVo.PageUserVo;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;

/**
* @author 马鑫
* @description 针对表【users】的数据库操作Service
* @createDate 2024-07-08 20:11:27
*/
public interface UsersService extends IService<Users> {
    //注册
    CommonResponse<Users> register(Users users) throws Exception;
    //登录
    CommonResponse<UserLoginVo> login(Users users) throws Exception;
    //获取所有用户信息
    CommonResponse<List<UserVo>> getAllUsers() throws Exception;
    //根据userid获取单个用户信息
    CommonResponse<UserVo> getUserByUserid(String userid) throws Exception;
    //分页获取用户信息
    CommonResponse<PageUserVo> getUsersByPage(PageDTO pageDTO) throws Exception;
    //获取平台用户数据
    CommonResponse<UserDataCenterVo> getAllUserDataCenter();
    //获取当前用户信息
    CommonResponse<UserVo> getCurrentUser(HttpServletRequest request);
    //更改用户信息
    CommonResponse<UserVo> updateUserInfo(String json);

}
